在virtualenv目录中安装模块

时间:2015-08-17 19:34:45

标签: python python-2.7 module virtualenv

Python和virtualenv的新手,所以我确定这是一个noob问题,但在安装我创建的virtualenv文件夹模块时会遇到一个奇怪的问题。

我模块的目录如下所示:

VideoUploader/
     VideoUploader/
         videouploader.py #main script
         __init__.py
     bin/
         userinfo.py #this is called by the setup.py file to get info from user via the command line during install
         __init__.py
     docs/
     setup.py
     tests/
         videouploader_tests.py
         __init__.py 

这是我的setup.py代码:

import json
import os
import sys
sys.path.insert(0, './bin')
import userinfo

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup

config = {'description': 'VideoUploader',
    'author': '',
    'url': '',
    'download_url': '',
    'author_email': 'alegion@gmail.com',
    'version': '0.1',
    'install_requires': ['nose','feedparser','requests','peewee'],
    'packages': [],
    'scripts': ['bin/userinfo.py'],
    'name': 'VideoUploader'
}


setup(**config) 

我的virtualenv目录如下所示:

NewProject/
    venv/
        bin/
        include/
        library/

我不清楚在哪里删除我的模块目录,以便我可以在这个虚拟环境中安装它。

我已尝试将其移至venv文件夹,然后cd进入VideoUploader文件夹并运行python setup.py install - 但这是放置模块文件夹的正确位置吗?

之后,在此目录中,我打开Python解释器并尝试导入VideoUploader。一切似乎都很好,但是当我尝试在模块中导入一个方法(在videouploader.py文件中)时,就像foo = VideoUploader.assignurl()一样,一切都按预期工作。但仅限于模块文件夹VideoUploader内,所以很明显它没有正确安装。我在这做错了什么?

1 个答案:

答案 0 :(得分:1)

通常,您可以从任何目录运行setup.py install,无需将其放入venv目录中。文件将自动复制到正确的位置。关于模块导入的错误,你确定你激活了virtualenv(运行source venv/bin/activate)你应该在安装之前这样做。