簡體   English   中英

在virtualenv上找不到軟件包-沒有名為“ mypack”的模塊

[英]Package not found on virtualenv - No module named “mypack”

嗨!

我嘗試使用在主程序(名為collector )上創建的程序包(名為mypackage )。 mypackage是通過以下setup.py定義的:

name = "mypackage"
[...]
packages = find_packages(),
include_package_data = True,
exclude_package_data = { '': ['README.md'] }
[...]
entry_points = {
    'console_scripts': [
        'my-package=mypack.mypack:main'
    ]
},

我想使用一個小程序來展示這個包,通常在collector上調用如下:

from mypack.common.prog import mylittleprogram

我嘗試將mypackage安裝在virtualenv上,然后(重新)安裝我的主程序。 然后我執行了它,並且出現錯誤:

Traceback (most recent call last):
from project.common.collector import collectArt
File "/root/project/lib/python3.5/site-packages/collector-0.1-py3.5.egg/project/common/collector.py", line 7, in <module>
ImportError: No module named 'mypack'

另外,在激活virtualenv時,我只是嘗試啟動名為my-package的入口點:

Traceback (most recent call last):
File "/root/project/bin/my-package", line 11, in <module>
load_entry_point('mypackage==0.1.1', 'console_scripts', 'my-package')()
File "/root/project/lib/python3.5/site-packages/pkg_resources/__init__.py", line 560, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/root/project/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2648, in load_entry_point
return ep.load()
File "/root/project/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2302, in load
return self.resolve()
File "/root/project/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2308, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
ImportError: No module named 'mypack'

注1:我精確地指出,我的軟件包的每個文件夾上都有__init__.py

注意2: virtualenv文件夾與我的主程序位於同一文件夾中。

如何通過virtualenvcollector主程序上的mypackage上使用mylittleprogram 我做錯什么了嗎?

謝謝 :)

有問題,我必須通過以下命令安裝軟件包:

python setup.py develop

然后識別出包裹。 激活virtualenv時必須執行此命令,並在軟件包目錄上執行。

希望這對以后的人有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM