2016-03-29 3 views
0

importiert habe ich mein erstes Paket mit dem folgenden setup.py:setup.py installiert Paket kann nicht

from setuptools import setup, find_packages 
setup(
    name='mygn', 
    version='0.1', 
    packages=find_packages(exclude=['test', 'test.*']), 
    include_package_data=True, 
    platforms='any', 
    install_requires=[ 
     'lxml==3.3.5', 
     'Pillow==3.0.0', 
     'requests==2.2.1', 
     'xmltodict==0.10.1', 
     'pdfrw==0.2', 
     'python-dotenv==0.4.0', 
     'boto==2.39.0', 
     'click==6.4' 
    ] 
) 

ich es in einem virtualenv installiert mit pip install . danach sehe ich die installierten Pakete mit

$ pip freeze 
boto==2.39.0 
click==6.4 
mygn==0.1  # <== here it is 
lxml==3.3.5 
ordereddict==1.1 
pdfrw==0.2 
Pillow==3.0.0 
python-dotenv==0.4.0 
requests==2.2.1 
xmltodict==0.10.1 

ich versuchte dann importiert werden, aber das scheitert:

(venv) $ python 
Python 2.7.10 (default, Oct 23 2015, 18:05:06) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import mygn 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named mygn 
>>> import xmltodict # no problem importing other modules from the pip freeze 
>>> 

Irgendwelche Ideen w Was könnte ich hier falsch machen?

Antwort

0

Another person trying to import with a similar issue

Dies war ihre Lösung:

chmod -R 775 /usr/local/lib/python2.6/dist-packages/ 

Es scheint, wie diese Person, indem sichergestellt wird ihr Problem gelöst, dass ihre Zugriffsrechte erlaubt ihnen Dateien aus dem Verteilungspaketordner zu verwenden. Ich würde wahrscheinlich Fehler beheben, indem Sie das gleiche tun, indem Sie sicherstellen, dass Ihre Datei und ihr Verzeichnis für Sie geöffnet sind. Ich bin mir nicht sicher, was es außerhalb davon verursachen könnte.

+0

Ich 'chmod -R 777'-Ed das ganze virtualenv' venv'-Verzeichnis, aber das half leider nicht. Irgendwelche anderen Ideen? – kramer65

+0

Ich frage mich, ob die Verwendung von einfachen Anführungszeichen für Ihren find_packages-Ausschluss mit Wildcards funktioniert, die Sie verwenden. Ich habe nur gesehen, dass Leute doppelte Anführungszeichen verwenden. Selbst für die meisten Beispiele wie: ** packages = find_packages (ausschließen = ["*. Tests", "* .tests. *"]) **. Eines der Dinge, die ich gesehen habe, ist, dass selbst wenn Sie die Informationen in ** package_data ** oder Ihre ** MANIFEST.in ** Datei manchmal angeben ** include_data_packages = True ** nicht tatsächlich alle Dateien verwenden, die Sie versuchen, einzuschließen. Vielleicht möchten Sie auch ** distutils ** anstelle von setuptools ausprobieren. – Dresden